[Platform] Centralize default model clients and converters for OpenAI based standards #938
+915
−1,567
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
We need a short term solution for this issue to unblock merging #871 without destroying a couple of bridges that are currently coupled to that "de facto standard" of OpenAI-based contracts.
This also will make it more obvious that our current ModelCatalog + Model class + neglected Capabilities need some love.
Introducing
Symfony\AI\Platform\Model\CompletionsModelandSymfony\AI\Platform\Model\EmbeddingsModelResultConverterInterfaceinto newSymfony\AI\ResultConverternamespaceModelClientInterfaceinto newSymfony\AI\ModelClientnamespaceSymfony\AI\Platform\ModelClient\CompletionsModelClientSymfony\AI\Platform\ModelClient\EmbeddingsModelClientSymfony\AI\Platform\ResultConverter\CompletionsResultConverterSymfony\AI\Platform\ResultConverter\EmbeddingsResultConverterLeads to removal of unspecific usage of OpenAI bridge implementations and basic Model subclasses in favor of specific ones if possible.